Skip to content

Enhance collection and index creation with HNSW support and advanced …#31

Merged
pavanjava merged 1 commit into
pavanjava:mainfrom
srimon12:feat/rich-payload-indexing
May 15, 2026
Merged

Enhance collection and index creation with HNSW support and advanced …#31
pavanjava merged 1 commit into
pavanjava:mainfrom
srimon12:feat/rich-payload-indexing

Conversation

@srimon12
Copy link
Copy Markdown
Collaborator

Summary

This PR adds richer Qdrant payload index support to QQL and exposes the tenant-optimized indexing path end to end.

Changes

  • added advanced CREATE INDEX ... WITH { ... } support for:
    • keyword
    • uuid
    • text
  • added tenant/index options for keyword and uuid:
    • is_tenant
    • on_disk
    • enable_hnsw
  • added text index options:
    • tokenizer
    • min_token_len
    • max_token_len
    • lowercase
    • ascii_folding
    • phrase_matching
    • stopwords
    • on_disk
    • enable_hnsw
  • added uuid as a supported payload index type
  • added collection-level HNSW { payload_m: <int> } support
  • updated SHOW COLLECTION to return structured payload index details
  • updated docs, CLI help, parser tests, and executor tests

Examples

CREATE COLLECTION tenant_docs USING HYBRID HNSW { payload_m: 16 }
CREATE INDEX ON COLLECTION tenant_docs FOR tenant_id TYPE keyword
WITH { is_tenant: true, on_disk: true, enable_hnsw: true }
CREATE INDEX ON COLLECTION tenant_docs FOR doc_id TYPE uuid
WITH { on_disk: true }
CREATE INDEX ON COLLECTION tenant_docs FOR title TYPE text
WITH { tokenizer: 'word', min_token_len: 2, lowercase: true, phrase_matching: true }

Notes

This PR enables Qdrant's tenant-aware indexing path in QQL, but it does not add application-level tenant authorization or automatic tenant filtering. Tenant isolation for access control still belongs in application logic.

Validation

Ran:

  • uvx ruff check .
  • .venv\Scripts\python -m pytest tests -q

Result:

  • Ruff clean
  • 537 passed

…options

- Added HNSW clause with payload_m parameter for collection creation.
- Updated CREATE INDEX to support advanced options for keyword, uuid, and text types.
- Enhanced error handling for unknown HNSW parameters and validation for payload_m.
- Updated documentation to reflect new features and usage examples.
- Added tests for HNSW and advanced index options.
@srimon12 srimon12 requested a review from pavanjava May 15, 2026 19:22
@pavanjava pavanjava merged commit c56228e into pavanjava:main May 15, 2026
2 checks passed
@srimon12 srimon12 deleted the feat/rich-payload-indexing branch May 15, 2026 19:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants